1. Field of the Invention
The present invention relates to calibration of detector signals in PICA (picosecond imaging circuit analysis) systems, and particularly to methods, apparatus and data structures useful for calibration of detector signals in PICA systems.
2. Prior Art
New package types, shrinking process geometries and new materials pose challenges for gathering vital data during the integrated circuit (IC) design debug and validation process. Increasingly sensitive devices are easily perturbed during probing, which skews results and slows the design process.
Fault localization methods using beam probe systems are time-consuming even with access to IC layout knowledge since each node must be probed serially to trace the location of a faulty circuit element. Tester and other equipment time is often limited, forcing design debug experts to extract timing measurements from the device one probing session at a time, often adding weeks to the debug and verification cycle.
Data acquisition and analysis can be a development bottleneck. With conventional serial probe systems, skilled IC diagnostic experts are required to analyze the critical device data to know which node to probe next. Though companies often develop multiple products simultaneously, data acquisition, review and analysis capabilities are available only at the probe system's site. If a single node is missed, a new probe session must be set up, effectively limiting progress to one device at a time.
Silicon on insulator (SOI) technology offers increased power capabilities and device performance, but its sensitive structure requires non-invasive probing. Devices manufactured with 0.13-micron geometry have critical signal nodes so small and numerous that the acquisition process is too time-consuming for efficient probe by serial, beam-based instruments.
Picosecond Imaging Circuit Analysis (PICA) technology developed by IBM uses naturally occurring light emission from stimulated CMOS transistors to extract timing measurements and localize faults. Detecting the emitted light with high-speed optical detectors allows circuit switching to be monitored. By imaging and time-resolving light emission from many devices on an operating chip, the flow of information through the chip can be displayed as a movie.
More details of PICA methods and systems are found in the following documents which are incorporated herein by this reference: U.S. Pat. No. 5,940,545 dated Aug. 17, 1999, Kash et al., Noninvasive Optical Method for Measuring Internal Switching and Other Dynamic Parameters of CMOS Circuits; U.S. Pat. No. 6,028,952 dated Feb. 22, 2000, Kash et al., System and Method for Compressing and Analyzing Time-Resolved Optical Data Obtained from Operating Integrated Circuits; U.S. Pat. No. 6,172,512 dated Jan. 9, 2001, Evans et al., Image Processing Methods for the Optical Detection of Dynamic Errors in Integrated Circuits; U.S. Pat. No. 6,304,668 (withdrawn) dated Oct. 16, 2001, Evans et al., Using Time Resolved Light Emission from VLSI Circuit Devices for Navigation on Complex Systems; European patent publication EP 0 937 989 published 25 Aug. 1999, Evans et al., IBM, Using Time Resolved Light Emission from VLSI Circuit Devices for Navigation on Complex Systems; J. BUDE, Hot-carrier luminescence in Si, PHYS. REV. B, 45(11), 15 Mar. 1992, pages 5848–5856; S. VILLA et al., Photon emission from hot electrons in silicon, PHYS. REV. B, 52(15), 15 Oct. 1995-I, pages 10993–10999; J. KASH et al., Full Chip Optical Imaging of Logic State Evolution in CMOS Circuits, IEDM 96 Late News Paper (1996) 1, pages 934–936; D. KNEBEL et al., Diagnosis and Characterization of Timing-Related Defects by Time-Dependent Light Emission, ITC PROCEEDINGS 1998; M. BRUCE et al., Waveform Acquisition from the Backside of Silicon Using Electro-Optic Probing, PROCEEDINGS FROM THE 25TH INTERNATIONAL SYMPOSIUM FOR TESTING AND FAILURE ANALYSIS, 14–18 Nov. 1999, pages 19–25; T. EILES et al., Optical Probing of VLSI IC's from the Silicon Backside, Proceedings from the 25th International Symposium for Testing and Failure Analysis, 14–18 Nov. 1999, pages 27–33; and M. MCMCMANUS, Picosecond Imaging Circuit Analysis of the IBM G6 Microprocessor Cache, PROCEEDINGS FROM THE 25TH INTERNATIONAL SYMPOSIUM FOR TESTING AND FAILURE ANALYSIS, 14–18 Nov. 1999, pages 35–38.
Schlumberger Technologies, Inc. of San Jose, Calif. offers commercially its IDS® PICA diagnostic probe system featuring IBM Picosecond Imaging Circuit Analysis technology The system uses PICA technology to detect naturally occurring light emission from stimulated CMOS transistors. Non-invasive capture of inherent signals from device transistors switching enables precise timing measurements and fault localization. The accumulated PICA data is stored for display and/or analysis. The system is capable of probing devices manufactured on advanced processes, including optical imaging for analysis of 0.13-micron and silicon on insulator (SOI) devices.
FIG. 1 shows a schematic block diagram of a PICA system 100 having a PICA frame 105, an electronics rack 110 housing signal acquisition and timing electronics, and a workstation 115 having a display and input devices enabling a user to interact with PICA system 100. A device under test (DUT) 120 is mounted under a test load board 125 which is in turn mounted at the top of PICA frame 105 onto an optical breadboard. Directly under DUT 120 is an objective lens turret 125, with multiple imaging lenses. Lens turret 125 and the rest of the optical system is carried on a motorized xyz stage 130 allowing DUT 120 to remain stationary while the optics are moved. A lens and mirror assembly 135 mounted on the underside of stage 130 allows selection of one of several optical paths. One optical path is for a PICA collection camera 140, a second is for a confocal laser-scanning microscope (LSM) 145 used for device navigation and correlation to CAD data, and a third port is provided for a optional further detector 150.
PICA collection camera 140 converts incident photons into electrical signals, with voltage levels Vx and Vy representing the observed x,y position of a detected photon and a strobe pulse SP synchronized to the time of arrival of the photon regardless of its x,y position. Voltage levels Vx and Vy are supplied to x-position and y-position processing electronics 155, 160 which capture levels Vx and Vy at the time of a strobe pulse SP and convert them to digital position values. The digital position values, along with timing information, are collected in an acquisition module 165 for transfer to workstation 115 where they can be stored, analyzed and displayed. Each detected-photon event can be assigned an address representing its x,y position and time of arrival. Workstation 115 includes a graphical user interface (GUI) and other software allowing the user to control the acquisition of data and subsequent data display and analysis. The faint infrared emission from switching FETs detected using a single-photon-counting photo-multiplier tube is thus time- and position-resolved
A tester 170 stimulates DUT 120 with a repetitive test-vector pattern 175 from a vector output port (vect out). Each repetition of test-vector pattern 175 is marked by a trigger pulse 180 supplied from a trigger output port (trig out) of tester 170 to an input port (trig in) of an event timer 185. A tester clock signal 190 may also be supplied from tester 170 to event timer 185. Event timer 185 measures the delay between a photon arrival event, which can occur at any time within the test-vector pattern, and the start (or end) of the test-vector pattern.
As a device is stimulated by signals applied in a repetitive test loop, the PICA system detects individual photons emitted when a CMOS transistor switches, and records the time and position of each photon. Accumulation of single photon events produces timing and image data which can be compared directly to electrical simulation for electrical analysis. Possible measurements include propagation delay, clock skew and signal tracing across multiple devices from a single probing session. Photon emission data from every node in the field of view over the entire test loop are collected and stored for processing.
FIG. 2 is a simplified schematic view of image-data storage and processing elements in the Schlumberger IDS® PICA probe system. Photon data are transferred from acquisition electronics 165 via a bus to workstation 115, a personal computer running a Windows NT operating system. Probe-system workstation 115 communicates with a Sun Microsystems data-processing workstation 200 running a Solaris operating system via an Orbix interface 205. A GPIB software tool 210 manages the transfer of data between acquisition electronics 165 and a data store 215 in workstation 115. GPIB tool 210 communicates with a navigator tool 225 in workstation 200 which in turn communicates with a transform server 230 in workstation 200. A data server 220 in workstation 115 communicates with transform server 230 to manage the transfer of data between workstations 115 and 200. Transform server 230 places data in two principle stores: an archive file 235 containing x,y.t photon data, APT data and calibration data, and a list file 240 containing x,y,t photon data. A data server 245 communicates with a session tool 250, a channel tool 255, a movie tool 260 and a histogram tool 265. Data server 245 maintains a binary file 265 of x,y,t,n photon data in which the x,y,t data for each photon-arrival event is identified by a number n. For simplicity of illustration, the elements of FIG. 2 are shown as functional blocks. Each of workstations 115 and 200 has the usual hardware elements including a respective processor with associated memory, input/output elements, storage devices, etc., and software elements including an operating system with graphical user interface.
LSM 145 is a high-resolution infrared imaging microscope for generating 512×512-pixel images through the backside of DUT 120. The LSM image is used to navigate around DUT 120, and can be linked to a CAD layout of DUT 120 so that each photon-detection event can be related to the chip architecture and as needed back to the design schematic. The LSM image is also linked to the detection region of the PICA camera. Because they share nearly the same optical path, a single mirror can be used to switch between navigation mode (using the LSM) and data acquisition mode (using the PICA camera).
The PICA camera tends to have a spatial non-linearity, more than the LSM. If the non-linearity is not corrected, a LSM image and a PICA image overlapping in the center of the field of view can be misaligned near the edge of the field of view. In addition to distortion, there are differences in magnification, in rotation and in shift between the LSM image and the PICA image. FIG. 3 illustrates. LSM image 300 is substantially undistorted and can be readily correlated with CAD data to facilitate navigation. PICA image 310 is distorted, so that an arbitrary location 320 in LSM image 300 having coordinates X,Y will correspond to a location 330 having coordinates X+ΔX, Y+ΔY.
A prior-art solution to this non-linearity employs software to map a correction matrix to compensate for the distortion, by comparing an LSM image and a PICA image of a reticle 400 shown in FIG. 4. Reticle 400 has a large central opening 410 of 600 μm diameter surrounded by a regularly-spaced rectangular grid of smaller openings of 10 μm diameter such as opening 420. Four of the openings in the grid, 430, 440, 450, 460, are crosses of 10 μm line width and 50 μm line length and thus having areas larger than openings 420 and smaller than opening 410.
As shown in FIG. 5, an optical turret 500 allows a calibration assembly 505 to be placed in the optical path 510 of PICA camera 140 and LSM 145. Calibration assembly 505 has an array 515 of light-emitting diodes projecting infrared light through a diffuser 520, through reticle 400, and through an objective 525 so that PICA camera 140 and LSM 145 can acquire images of reticle 400. These images are used to build a correction matrix. As shown in FIG. 6, the correction matrix 600 divides a 512×512 pixel PICA image into 16 cells of 128×128 pixels and provides a ΔX,ΔY correction value for each cell. The correction ΔX1, ΔY1 will be applied to pixels in cell 610 (that is, to pixels in the position range of X=0 to 128, Y=0 to 128), the correction ΔX2, ΔY2 will be applied to pixels in cell 620 (that is, to pixels in the position range of X=128 to 256, Y=0 to 128), and so on. For example, position 26,156 in the LSM image is in cell 5 for which the offset is ΔX5, ΔY5, so that the corresponding position in the PICA image is 26+ΔX5,156+ΔY5.
FIG. 7 shows an LSM image 700 and a PICA image 710 of reticle 400. The reticle's openings appear in the LSM image as dark blobs on a light background and in the PICA image as light blobs on a dark background. The PICA image is distorted and rotated relative to the LSM image. A graphical processing library provides functions to find the blobs on the images. The vertical and horizontal translation of the same point in both images is calculated, and an algorithm is provided for interpolating.
FIG. 8 shows a first stage 800 of building a position-correction matrix. The images are prepared for further processing by applying library functions to the images at 805 and the blobs are identified at 810, resulting in a matrix 815 of reticle-opening positions for the LSM image and a matrix 820 of reticle-opening positions for the PICA image. The library functions at 805 include thresholding and inversion 825, 830 and finding all the blobs 835, 840. Identify the blobs 810 involves finding the big blob 845, 850, finding the four cross blobs 855, 860 and identifying the grid points of the reticle 865, 870. Finding the big blob is done by selecting the blob with the biggest area. Finding the four cross blobs is done by locating the blobs of intermediate area and from their orientation; in practice, this is done by an automated process which identifies the blobs according to their respective areas (the central blob having the biggest area, the four crosses having intermediate area, and the remaining grid points having the smallest area), then displaying the image so the user can confirm the central blob and the crosses have been correctly identified or can select them manually. The processor computes the centroid of each identified blob. The expected positions of the reticle's small grid-point blobs are calculated, identified by row and column. The real position of each grid-point blob is found by looking for a blob in a square centered at the expected position.
As shown in the image portion 900 of FIG. 9, the center of the biggest blob 905 is taken as the center of the grid system (location 0,0) and the grid system is oriented with crosses 910, 915, 920, 925. A square region 930 centered on location 3,3 is taken as the search region in which to look for a grid-point blob. A search of region 930 will locate the center point of blob 935, for example. FIG. 10 shows a portion of a resulting grid-point location matrix 1000 along with an image region 1005 represented by the matrix portion 1000. In this example, the grid point 1010 at location −3,4 corresponds to an x,y position of 13,31 and the center point of cross 1015 at location −2,0 corresponds to an x,y position of 58,182.
FIG. 11 shows a second stage of building a correction matrix. The respective matrices 1105 and 1110 of positions of the reticle's holes in the LSM and PICA images are adjusted for size and the values for each point of the matrix are differenced at 1115 to produce a matrix of differences 1120 having the same size as the LSM image and having the same position of the center. The matrix of differences 1120 at this point is a list stored in a two-dimensional array of positions and offset at these positions. With the usual magnification the list has about 200 elements corresponding to the reticle openings, in which one element comprises the position and the corresponding offset.
LSM image 1105 and the matrix of differences 1120 are used to build an incompletely-filled matrix of corrections 1130. A correction matrix is initialized, e.g., 32×32, 128×128 or 512×512, and the positions given in the LSM matrix position are converted to numbers of rows and columns to start filling the correction matrix 1130. Matrix 1130 incomplete because there are about 200 reticle openings, but a correction matrix of 512×512 points (25,000 values) corresponding to the pixels in the LSM image is desired. The missing values in the incomplete correction matrix 1130 are filled in by linearly interpolating between the known values of the difference matrix 1120 to produce the correction matrix 1140. Other interpolation algorithms considered in the prior art were rejected because they are slower (bicubic) or less flexible (interpolation by pixel line). The interpolated ΔX,ΔY correction value is linearly based on distance from the nearest four surrounding reticle points, as shown at 1200 in FIG. 12, in which di is the distance between points (Xi, Yi) and (X,Y) and where n=4. That is, weighting is done with the four nearest known values because the distortion is local. The search for the four nearest points is limited to a disk centered at the point to be interpolated and having an arbitrary radius; if a know point is found in this area, the search is repeated with a larger radius (the previous is multiplied by 2).
FIG. 13 is a screen display 1300 showing the detection of reticle points, in which each grid point such as point 1310 is marked with a cross and the four crosses 1320, 1330, 1340, 1350 of the reticle are outlined with boxes for ease of viewing. FIG. 14 shows an example of an LSM reticle image 1410, a PICA reticle image 1420 and processed PICA image 1430 which has been modified using a correction matrix prepared as just described.
A disadvantage of the prior art calibration described above is that the correction matrix produces a corrected PICA image having undesirable and troublesome discontinuities. Improved correction of PICA data is needed during real-time data acquisition so as to produce better PICA images, yet without incurring excessive processing overhead.